﻿using System;
using System.Security.Cryptography;
using System.Text;
using System.Text.RegularExpressions;

namespace Util
{
    public static class ObjectUtil
    {

        #region Hàm lấy mã kế tiếp

        /// <summary>
        /// Lấy mã kế tiếp từ chuỗi mã cuối cùng
        /// </summary>
        /// <param name="lastID">String: Mã cuối cùng (Dùng GetLastID() để lấy)</param>
        /// <param name="prefixID">String: Tiền tố. VD: HS00001 => tiền tố là HS</param>
        /// <param name="lengthNumerID">String: Số lượng phần số. VD: HS00001 => 5</param>
        /// <returns></returns>
        public static string NextID(string lastID, string prefixID, int lengthNumerID = 5)
        {
            if (lastID == "" || lastID == null)
                lastID = prefixID + new String('0', lengthNumerID);

            int nextID = int.Parse(lastID.Remove(0, prefixID.Length)) + 1;
            string zeroNumber = "";
            for (int i = 1; i <= lengthNumerID; i++)
            {
                if (nextID < Math.Pow(10, i))
                {
                    int j = 1;
                    for (; j <= lengthNumerID - i; i++)
                    {
                        zeroNumber += "0";
                    }
                    return prefixID + zeroNumber + nextID.ToString();
                }
            }
            return prefixID + nextID;
        }

        #endregion
    }
}